目標:了解基本語法和基本概念。
學習基礎知識,包括變數、資料型別、基本輸入輸出、條件語句、迴圈等。這些知識是學習任何程式語言的基礎。
目標:掌握更多進階概念和功能。
學習者開始熟悉更多進階主題,如函數、模組、檔案操作、異步操作等。此外,MicroPython 針對 ESP32 晶片部份特有的硬體操作,如控制 LED、按鈕、感測器等。
步驟:
目標:進行實際項目開發,提升解決問題的能力。
開始應用所學知識進行實際專案開發,可能涉及更複雜的系統設計和優化。例如,可開發一個完整的物聯網(IoT)系統,從感測器數據收集到資料處理和傳輸。
步驟:
目標:成為MicroPython的專家,貢獻開源社區或開發高效的解決方案。
學習者可能會參與到 MicroPython 核心開發,或是針對特定的應用領域進行深度優化和研究。開始撰寫技術文件、參與開源社區、甚至是創建自己的 MicroPython 函式庫與模組。
步驟:
# 05_01. 讓你的玩學機點亮機器內建的 LED,並間隔 1 秒持續閃爍。
from machine import Pin
from time import sleep
# 定義 LED 的輸出腳位,WiFiBoy Python IoT 是 Pin 16
led = Pin(16, Pin.OUT)
print('請把機器翻背面: 觀看內建 LED 的狀態: ')
while True:
led.value(1) # 關閉 LED
sleep(1) # 延遲 1 秒
print('滅')
led.value(0) # 開啟 LED
sleep(1) # 延遲 1 秒
print('亮')
# 05_02. 操作 LCD 背光,並將 LCD 畫面設定為藍色。
from machine import Pin
from time import sleep
# 定義 LED 的輸出腳位,WiFiBoy Python IoT Pin 27 控制玩學機的背光
led = Pin(27, Pin.OUT)
print('請觀察: 觀看正面 LCD 面板的狀態: ')
wb.cls(wb.BLUE)
while True:
led.value(1) # 開啟 LCD 背光
sleep(0.6) # 延遲 0.6 秒
print('LCD 背光亮')
led.value(0) # 關閉 LED 背光
sleep(0.4) # 延遲 0.4 秒
print('LCD 背光滅')
# 05_03. 當按下 A 鍵,清除螢幕畫面並將背景設定為粉紅色,機器後面的 LED 開始閃爍
from machine import Pin
from time import sleep
# 定義 LED 的輸出腳位,WiFiBoy Python IoT Pin 27 控制玩學機的背光
led1 = Pin(16, Pin.OUT)
led2 = Pin(27, Pin.OUT)
LEDState = 0
print('請觀察: 觀看正面 LCD 面板與背面 LED 的狀態: ')
wb.cls(wb.BLUE)
while True:
if wb.getkey() == 2:
led1.value(LEDState)
led2.value(LEDState)
LEDState = not LEDState
time.sleep(1)
# 05_04. 當按下 A 鍵,畫面上的計數器加一
from machine import Pin
from time import sleep
Counter = 0
Limit = 120
STEP = 1
print('請觀察: 觀看正面計數器的值: ')
wb.cls(wb.BLACK)
while True:
if wb.getkey() == 2:
wb.cls()
time.sleep(0.1)
Counter = Counter + STEP
if Counter >= Limit:
wb.str('Finish!', 16, 64, 2, 4)
break
wb.str(str(Counter), 16, 64, 2, 5)
做了四個練習,覺得有趣嗎?我們明天再繼續喔!